From: Dirk Brenken Date: Thu, 6 Nov 2025 22:43:17 +0000 (+0100) Subject: travelmate: update 2.2.1-4 X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22http:/www.crowdsec.net/%22/%22https:/collectd.org/%22http:/www.crowdsec.net/%22?a=commitdiff_plain;h=b8486bd711b930f5ff38751eef165030be5d19c7;p=feed%2Fpackages.git travelmate: update 2.2.1-4 - fix a possible race condition in the scan function - limit the max. signal strength to 100 - cosmetics Signed-off-by: Dirk Brenken --- diff --git a/net/travelmate/Makefile b/net/travelmate/Makefile index 3aea45ac0a..0474bc874a 100644 --- a/net/travelmate/Makefile +++ b/net/travelmate/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=travelmate PKG_VERSION:=2.2.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LICENSE:=GPL-3.0-or-later PKG_MAINTAINER:=Dirk Brenken diff --git a/net/travelmate/files/travelmate.init b/net/travelmate/files/travelmate.init index 2348ddd927..f356566aac 100755 --- a/net/travelmate/files/travelmate.init +++ b/net/travelmate/files/travelmate.init @@ -76,9 +76,8 @@ status_service() { } scan() { - local scan_dev scan_mode radio_num radio_phy radio="${1}" + local result scan_dev scan_mode radio_num radio_phy radio="${1}" - : > "${trm_scanfile}" scan_dev="$(ubus -S call network.wireless status 2>/dev/null | jsonfilter -ql1 -e "@.${radio}.interfaces[0].ifname")" if [ -z "${scan_dev}" ]; then radio_num="${radio//[a-z]/}" @@ -95,16 +94,19 @@ scan() { if [ -n "${scan_dev}" ]; then scan_mode="$(uci_get travelmate global trm_scanmode "active")" [ "${scan_mode}" != "passive" ] && scan_mode="" - printf "%b\n" "$(iw "${scan_dev}" scan ${scan_mode} 2>/dev/null | + result="$(iw dev "${scan_dev}" scan ${scan_mode} 2>/dev/null | awk '/^BSS /{if(bssid!=""){if(ssid=="")ssid="unknown";printf "%3s %3s %17s %s %s %10s %30s %s\n",signal,channel,bssid,rsn,wpa,cipher,auth,ssid};signal="";channel="";rsn="-";wpa="-";cipher="-";auth="-";bssid=toupper(substr($2,1,17))} - /signal:/{signal=2*($2 + 100)} + /signal:/{signal=(2*($2+100)>100 ? 100 : 2*($2+100))} /SSID:/{$1="";sub(/^ /,"",$0);ssid=$0} /freq:/{channel=int($2);if(channel>=2400&&channel<=2500)channel=int((channel-2407)/5);else if(channel>=4900&&channel<=5900)channel=int((channel-5000)/5);else if(channel>=5925&&channel<=7125)channel=int(((channel-5950)/5)+1)} /WPA:/{wpa="+"} /RSN:/{rsn="+"} /Group cipher:/{cipher=$4} /Authentication suites:/{auth="";for(i=4;i<=NF;i++){auth=auth (i==4?"":",")$i}} - END{if(bssid!=""){if(ssid=="")ssid="unknown";printf "%3s %3s %17s %s %s %10s %30s %s\n",signal,channel,bssid,rsn,wpa,cipher,auth,ssid}}' | sort -rn)" > "${trm_scanfile}" + END{if(bssid!=""){if(ssid=="")ssid="unknown";printf "%3s %3s %17s %s %s %10s %30s %s\n",signal,channel,bssid,rsn,wpa,cipher,auth,ssid}}' | sort -rn)" + printf "%b\n" "${result}" > "${trm_scanfile}" + else + : > "${trm_scanfile}" fi if [ -n "${radio_phy}" ] && [ -n "${radio_num}" ]; then ip link set "trmscan${radio_num}" down >/dev/null 2>&1 diff --git a/net/travelmate/files/travelmate.sh b/net/travelmate/files/travelmate.sh index 8c52c13542..0b6b614157 100755 --- a/net/travelmate/files/travelmate.sh +++ b/net/travelmate/files/travelmate.sh @@ -989,9 +989,9 @@ f_main() { fi if [ -n "${scan_dev}" ]; then [ "${trm_scanmode}" != "passive" ] && scan_mode="" - scan_list="$(printf "%b" "$("${trm_iwcmd}" "${scan_dev}" scan ${scan_mode} 2>/dev/null | + scan_list="$(printf "%b" "$("${trm_iwcmd}" dev "${scan_dev}" scan ${scan_mode} 2>/dev/null | "${trm_awkcmd}" '/^BSS /{if(bssid!=""){if(ssid=="")ssid="unknown";printf "%s %s %s %s %s\n",signal,rsn,wpa,bssid,ssid};bssid=toupper(substr($2,1,17));ssid="";signal="";rsn="-";wpa="-"} - /signal:/{signal=2*($2 + 100)} + /signal:/{signal=(2*($2+100)>100 ? 100 : 2*($2+100))} /SSID:/{$1="";sub(/^ /,"",$0);ssid="\""$0"\""} /WPA:/{wpa="+"} /RSN:/{rsn="+"}